package com.tbs.easyhomemoneyserver.interfaces

import com.tbs.easyhomemoneyserver.DO.ApiLimit
import com.tbs.easyhomemoneyserver.model.rights.ApiRequest

/**
 * 权限管理验证接口
 * @author abstergo
 */
interface IRightAuthorization {
    /**
     * 验证
     * @param limit 当前检验的所需权限
     * @param request http请求信息
     * @param apiRequest 拦截器获取到的信息
     * @return true 通过 false失败
     */
    fun auth(limit: ApiLimit,apiRequest: ApiRequest): Boolean

    /**
     * 验证失败后的提示文本
     * @param request 拦截器获取到的信息
     * @param noPassRights 没有通过的权限详情
     * @return
     */
    fun unAuthedText(request: ApiRequest, noPassRights: ApiLimit): String
}
